package chapter05;

public class Java03_Object_Test_03 {
    public static void main(String[] args) {
        // TODO 数组-二分查找法
        // 要求：数组中的数据是有序的
        int[] nums = {1,2,3,4,5,6,7};
        // 操作：将数组中的数据分成两份，取出中间值，需要查找得数据与中间值进行对比，小于中间值往左边二分查找，大于则往中间值的左边

        int target = 6;
        int start = 0;
        int end = nums.length - 1;
        int middle = 0;

        while (start <= end) {
            middle = (start + end) / 2;
            if (nums[middle] > target) {
                end = middle - 1;
            } else if (nums[middle] < target) {
                start = middle + 1;
            } else {
                break;
            }
        }
        System.out.println("数据在数组的位置："+middle);
    }
}

